Code Architecture and Open Source Software Development
نویسندگان
چکیده
A model is developed to study how the code architecture affects open source software (OSS) development. The model incorporates the resource heterogeneity and diverse motivations of various groups of programmers as well as the strategic interactions among them. We argue that the major advantage brought by a modular architecture of OSS code base is that it reduces both the cognitive cost and the coordination cost associated with OSS development, thus allowing programmers more easily to locate, manage, and contribute to the code base. We show that in OSS development, while modular architecture can potentially increase code contribution, it does not necessarily reduce free-riding; in fact it may well increase free-riding due to the strategic interactions among the programmers. We further empirically test the predictions using the SourceForge OSS development data, and the results confirm our theoretical predictions. The findings bear important theoretical as well as practical implications and provide guidelines for practitioners of OSS development and the collective innovation in general.
منابع مشابه
Open Source Software: How Can Design Metrics Facilitate Architecture Recovery?
Modern software development methodologies include reuse of open source code. Reuse can be facilitated by architectural knowledge of the software, not necessarily provided in the documentation of open source software. The effort required to comprehend the system’s source code and discover its architecture can be considered a major drawback in reuse. In a recent study we examined the correlations...
متن کاملInter-Package Dependency Networks in Open-Source Software
Internet-based repositories of open-source software provide a growing collection of software programs that interact with each other by code reuse. This software is developed by otherwise non-interacting, disjoint development groups with different goals, resources, and development methodologies. The software has a variety of functions, exists at assorted levels of maturity, and is written in a v...
متن کاملCauses of Architecture Changes: An Empirical Study through the Communication in OSS Mailing Lists
Understanding the causes of architecture changes allows us to devise means to prevent architecture knowledge vaporization and architecture degeneration. But the causes are not always known, especially in open source software (OSS) development. This makes it very hard to understand the underlying reasons for the architecture changes and design appropriate modifications. Architecture information ...
متن کاملAutomatic Forecasting of Design Anti-patterns in Software Source Code
The paper presents a framework for automatic inferring knowledge about reasons for the appearance of anti-patterns in the program source code during its development. Experiments carried out on histories of development of few open-source java projects shown that we can efficiently detect temporal patterns, which are indicators of likely appearance of future anti-pattern. The approach presented i...
متن کاملSoftware Quality Assessment of Open Source Software
The open source software ecosystem comprises more than a hundred thousand applications of varying quality. Individuals and organizations wishing to use open source software packages have scarce objective data to evaluate their quality. However, open source development projects by definition allow anybody to read, and therefore evaluate their source code. In addition, most projects also publish ...
متن کامل